﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;

namespace Himp.Platform
{
    /// <summary>
    /// 事件消息类别
    /// </summary>
    public class EventMsgTopic : Entity<Guid>, IMultiTenant, ISoftDelete
    {
        /// <summary>
        /// 
        /// </summary>
        public string TopicCodg { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string EventMsgTopicName { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public int Srtno { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public bool DefaultFlag { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Guid? ParentId { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public EventMsgTopic? Parent { get; set; }

        /// <summary>
        /// 上级菜单
        /// </summary>
        public List<EventMsgTopic> Children { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Guid? TenantId { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public bool IsDeleted { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="msgTypeCodg"></param>
        /// <param name="msgTypeName"></param>
        /// <param name="srtno"></param>
        public EventMsgTopic(string topicCodg, string eventMsgTopicName, int srtno)
        {
            TopicCodg = topicCodg;
            EventMsgTopicName = eventMsgTopicName;
            Srtno = srtno;
        }
    }
}
